package com.hlkj.baojin.entity.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;
import java.util.List;

/** 报警记录
 * @author 徐其伟
 * @Description:
 * @date 18-12-17 上午9:06
 */
@Getter
@Setter
public class EarlyAlarmRecordDto implements Serializable {
    @Id
    private String id;

    @Indexed
    @ApiModelProperty("公司id")
    private String companyId;

    @ApiModelProperty("公司名称")
    private String companyName;

    @ApiModelProperty("位置->厂区（修改1223）")
    private String location;

    @ApiModelProperty(value = "监控对象（新增1223）")
    private String monitorObject;

    @ApiModelProperty(value = "设备类型（新增1223） 0.储量 1.温度 2.泄漏量")
    private Integer monitorType;

    @ApiModelProperty("存储物品")
    private String storeItems;

    @Indexed
    @ApiModelProperty("设备Id")
    private String deviceId;

    @ApiModelProperty("设备名称")
    private String deviceName;

    @ApiModelProperty("公司法人")
    private String legalPerson;
    @ApiModelProperty("公司法人手机号")
    private String legalPersonPhone;

    @ApiModelProperty(value = "公司负责人")
    private String companyPrincipal;

    @ApiModelProperty(value = "公司负责人手机号")
    private String companyPrincipalPhone;

    @ApiModelProperty("中控人员")
    private String controlMan;

    @ApiModelProperty("中控值班电话")
    private String controlTelephone;

    @ApiModelProperty("中控人员手机")
    private String controlManMobilePhone;

    @ApiModelProperty(value = "技术说明书")
    private List<String> techManual;

    @ApiModelProperty(value = "应急方案")
    private List<String> emergencyPlan;
    /**
     * 恢复时间
     */
    @ApiModelProperty("恢复时间")
    private Long recoverTime;

    /**
     * 恢复状态 默认null 1 已恢复
     */
    private Integer recoverStatus;

    /**
     * 报警内容
     */
    private String alarmContent;

    private Long createTime;

    private Long updateTime;

    private Integer delete;


    public EarlyAlarmRecordDto() {
    }

    /** 收到报警数据 使用该构造方法即可
     * @param companyId
     * @param deviceId
     * @param alarmContent
     */
    public EarlyAlarmRecordDto(String companyId, String deviceId, String alarmContent) {
        this.companyId = companyId;
        this.deviceId = deviceId;
        this.alarmContent = alarmContent;
    }
}
